home *** CD-ROM | disk | FTP | other *** search
/ Compute! Gazette 1984 August / 1984-08.d64 / disk purge (.txt) < prev    next >
Commodore BASIC  |  2022-09-20  |  1KB  |  58 lines

  1. 30 rem for 4040/2031/1540/1541
  2. 40 print "[147]disk purge"
  3. 50 print:print"which drive (0/1) ? [146][157]";
  4. 60 get dr$:if dr$<>"0" and dr$<>"1" then 60
  5. 70 print dr$:d=val(dr$)
  6. 80 dr$= "i"+dr$:open 15,8,15,dr$
  7. 90 gosub 450
  8. 100 open 1,8,3,"#":gosub 460
  9. 110 print:print "press'y[146]'to del file":print
  10. 120 z$=chr$(0)
  11. 130 t=18:s=1
  12. 140 print#15,"u1:"3;d;t;s
  13. 150 print#15,"b-p:"3;2+32*r
  14. 160 get#1,a$:if a$="" then a$=z$
  15. 170 if asc(a$)<129 then 270
  16. 180 for k=5+32*r to 20+32*r
  17. 190 print#15,"b-p:"3;k
  18. 200 get#1,a$:if a$="" then print" [146]";:goto 220
  19. 210 print a$;
  20. 220 next
  21. 230 print ,,"purge ?  [146][157]";
  22. 240 geta$:ifa$<>"y" and a$<>"n" then240
  23. 250 print a$
  24. 260 if a$="y" then gosub 360
  25. 270 r=r+1:if r<8 then 140
  26. 280 print#15,"b-p:"3;0
  27. 290 get#1,a$:ifa$="" thena$=z$
  28. 300 t=asc(a$):if t=0 then print:print "end of directory.":goto 400
  29. 310 print#15,"b-p:"3;1
  30. 320 get#1,a$:ifa$=""thena$=z$
  31. 330 s=asc(a$):print:print "*** next track: ";:nu=t:gosub520:print n$;
  32. 340 print tab(20);"next sector: ";:nu=s:gosub 520:print n$;" ***":print
  33. 350 r=0:goto140
  34. 360 print#15,"b-p:"3;5+32*r-3
  35. 370 print#1,chr$(0);
  36. 380 print#15,"u2:"3;d;t;s
  37. 390 gosub460:return
  38. 400 close 1
  39. 405 print "validate disk y or n"
  40. 406 get v$:if v$="y"then410
  41. 407 if v$=""then 406
  42. 408 close15:end
  43. 410 print:print "validating disk[146]"
  44. 420 print#15,("v"+dr$)
  45. 430 gosub460:close 15
  46. 440 end
  47. 450 rem check disk status
  48. 460 input#15,er,er$,tr,se
  49. 470 if er=0 then return
  50. 480 close 15:close 1
  51. 490 print:print "disk error! ";
  52. 500 print er;er$;tr;se
  53. 510 stop
  54. 520 rem format (NULL)s
  55. 530 n$=mid$(str$(nu),2)
  56. 540 if len(n$)<2 then n$="0"+n$
  57. 550 return
  58.